package com.ruoyi.distributionPoster.mapper;

import java.util.List;
import com.ruoyi.distributionPoster.domain.DistributionPoster;

/**
 * 分销海报记录Mapper接口
 * 
 * @author ruoyi
 * @date 2025-11-21
 */
public interface DistributionPosterMapper 
{
    /**
     * 查询分销海报记录
     * 
     * @param posterId 分销海报记录主键
     * @return 分销海报记录
     */
    public DistributionPoster selectDistributionPosterByPosterId(Long posterId);

    /**
     * 查询分销海报记录列表
     * 
     * @param distributionPoster 分销海报记录
     * @return 分销海报记录集合
     */
    public List<DistributionPoster> selectDistributionPosterList(DistributionPoster distributionPoster);

    /**
     * 新增分销海报记录
     * 
     * @param distributionPoster 分销海报记录
     * @return 结果
     */
    public int insertDistributionPoster(DistributionPoster distributionPoster);

    /**
     * 修改分销海报记录
     * 
     * @param distributionPoster 分销海报记录
     * @return 结果
     */
    public int updateDistributionPoster(DistributionPoster distributionPoster);

    /**
     * 删除分销海报记录
     * 
     * @param posterId 分销海报记录主键
     * @return 结果
     */
    public int deleteDistributionPosterByPosterId(Long posterId);

    /**
     * 批量删除分销海报记录
     * 
     * @param posterIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDistributionPosterByPosterIds(Long[] posterIds);

    /**
     * 根据场景ID查询分销海报记录
     *
     * @param sceneId 场景ID
     * @return 分销海报记录
     */
    DistributionPoster selectDistributionPosterBySceneId(String sceneId);

    /**
     * 查询过期的分销海报记录
     *
     * @return 过期记录列表
     */
    List<DistributionPoster> selectExpiredDistributionPosters();

    /**
     * 批量删除过期分销海报记录
     *
     * @param posterIds 需要删除的过期记录主键集合
     * @return 删除结果
     */
    int deleteExpiredDistributionPosters(Long[] posterIds);
}
